#ifndef _WINDOWEVENT_H_
#define _WINDOWEVENT_H_

#include "Event.h"

namespace Engine2D
{
    class WindowEvent : public Event
    {
        REGISTER_EVENT(T_WindowEvent)
    public:
        WindowEvent() : Event(EventType::T_WindowEvent, "WindowEvent") {}
        virtual ~WindowEvent() = default;
    };

    class ResizeEvent : public WindowEvent
    {
    public:
        ResizeEvent(int width_, int height_) : WindowEvent(), width(width_), height(height_) {}
        virtual ~ResizeEvent() = default;
        int width;
        int height;
    };

    class QuitEvent : public Event
    {
        REGISTER_EVENT(T_QuitEvent)
    public:
        QuitEvent() : Event(EventType::T_QuitEvent, "QuitEvent") {}
        virtual ~QuitEvent() = default;
    };

} // namespace Engine2D


#endif